package com.sunni.mapper;

import com.sunni.entity.Menu;
import com.sunni.entity.QueryVo;

import java.util.List;

public interface MenuMapper {
    /*课时106：菜单管理页，删除按钮，删除menu.（业务逻辑，删除menu时判断，有没有子menu，有的话提示不能删除）*/
    int deleteByPrimaryKey(Long id);

    int insert(Menu record);

    Menu selectByPrimaryKey(Long id);

    /*课时101-菜单管理 显示所有Menu (Menu表)*/
    List<Menu> selectAll(QueryVo queryVo);

    /*课时105：菜单管理页，修改按钮，修改(Service层业务逻辑：不能选择子菜单做父菜单，那就判断我选择的父菜单的父菜单是不是我自己)*/
    int updateByPrimaryKey(Menu record);

    /*课时105：菜单管理页，修改按钮，修改(Service层业务逻辑：不能选择子菜单做父菜单，那就判断我选择的父菜单的父菜单是不是我自己)*/
    Long selectParentId(Long id);

    /*课时106：菜单管理页，删除按钮，删除menu.（业务逻辑，删除menu时判断，有没有子menu，有的话提示不能删除）*/
    /*统计 子menu个数*/
    int selectSonMenuCount(Long id);


    /*课时107- 查询所有一级menu及其子menu*/
    List<Menu> selectTreeMenu();
}